const simpleGit = require('simple-git')();  
const fs = require('fs');  
const path = require('path');  
  
async function updatePackageVersion() {  
  try {  
    // 获取最近的提交信息  
    const log = await simpleGit.log({ maxCount: 1, format: '%H' }); // %H 代表完整的提交对象哈希值  
    const commitHash = log.latest.hash; // 获取最新的提交哈希值  
    const newVersion = `${commitHash.substring(0, 7)}`; // 假设使用提交哈希的前7位作为 patch 版本  
  
    // 读取 package.json 文件  
    const packageJsonPath = path.join(__dirname, 'package.json');  
    const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));  
  
    // 更新版本号  
    packageJson.version = newVersion;  
  
    // 将更新后的内容写回 package.json 文件  
    fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));  
  
    console.log(`Updated package version to ${newVersion}`);  
  } catch (error) {  
    console.error('Error updating package version:', error);  
    process.exit(1);  
  }  
}  
  
updatePackageVersion();